On Reachability Analysis of Pushdown Systems with Transductions: Application to Boolean Programs with Call-by-Reference
نویسندگان
چکیده
Pushdown systems with transductions (TrPDSs) are an extension of pushdown systems (PDSs) by associating each transition rule with a transduction, which allows to inspect and modify the stack content at each step of a transition rule. It was shown by Uezato and Minamide that TrPDSs can model PDSs with checkpoint and discrete-timed PDSs. Moreover, TrPDSs can be simulated by PDSs and the predecessor configurations pre∗(C) of a regular set C of configurations can be computed by a saturation procedure when the closure of the transductions in TrPDSs is finite. In this work, we comprehensively investigate the reachability problem of finite TrPDSs. We propose a novel saturation procedure to compute pre∗(C) for finite TrPDSs. Also, we introduce a saturation procedure to compute the successor configurations post∗(C) of a regular set C of configurations for finite TrPDSs. From these two saturation procedures, we present two efficient implementation algorithms to compute pre∗(C) and post∗(C). Finally, we show how the presence of transductions enables the modeling of Boolean programs with call-by-reference parameter passing. The TrPDS model has finite closure of transductions which results in modelchecking approach for Boolean programs with call-by-reference parameter passing against safety properties. 1998 ACM Subject Classification D.2.4 Software/Program Verification
منابع مشابه
Pushdown Systems with Stack Manipulation
Pushdown systems are a model of computation equipped with one stack where only the top of the stack is inspected and modified in each step of transitions. Although this is a natural restriction, some extensions of pushdown systems require more general operations on stack: conditional pushdown systems inspect the whole stack contents and discrete timed pushdown systems increment the ages of the ...
متن کاملGlobal Model-Checking of Higher-Order Pushdown Systems
Pushdown systems equip a finite state system with an unbounded stack memory, and are thus infinite state. By recording the call history on the stack, these systems provide a natural model for recursive procedure calls. Model-checking for pushdown systems has been well-studied. The most successful implementation of these techniques is the tool Moped, which has become an important component of ve...
متن کاملUnified Analysis of Collapsible and Ordered Pushdown Automata via Term Rewriting
We model collapsible and ordered pushdown systems with term rewriting, by encoding higher-order stacks and multiple stacks into trees. We show a uniform inverse preservation of recognizability result for the resulting class of term rewriting systems, which is obtained by extending the classic saturation-based approach. This result subsumes and unifies similar analyses on collapsible and ordered...
متن کاملResource - bounded Reachability on Pushdown Systems
In this work, we combine the theory of pushdown systems and the theory of resource automata (also known as B-automata) to a model which we call resource pushdown systems. This model can be seen as pushdown system with resource counters which support the operations increment, reset to zero and no-change. The pushdown rules are annotated with these counter operations. Resource pushdown systems ca...
متن کاملAnalysis of Boolean Programs
Boolean programs are a popular abstract domain for static-analysisbased software model checking. Yet little is known about the complexity of model checking for this model of computation. This paper aims to fill this void by providing a comprehensive study of the worst-case complexity of several basic analyses of Boolean programs, including reachability analysis, cycle detection, LTL, CTL, and C...
متن کامل